If C and C1=3 and C2=6 and C3=2 Then FLIPH : Goto S
If C and C1=3 and C2=6 and C3=3 Then FLIPV : Goto S
If C and C1=3 and C2=7 and C3=1 Then KLEAR : Goto S
If C and C1=3 and C2=8 Then FUN : Goto S
If C and C1=3 and C2=9 Then DK : Goto S
If C and C1=3 and C2=10 Then SPLAT : Goto S
If C and C1=3 and C2=11 Then MTOL : Goto S
If C and C1=3 and C2=12 Then HALF : Goto S
'
'
If A$="b" Then BLACK : Goto S
If A$="j" Then BLOW
Loop
End Proc
Procedure SET_MENU
CL=Screen Colour
Ink Rnd(16)
'Set Text 4
H1$=Str$(H)
W1$=Str$(W)
CL1$=Str$(CL)
W$="Width :"+W1$
H$="hieght:"+H1$
CL$="No of cols:"+CL1$
'
'
Menu$(1)=" INFO "
Menu$(1,1)="Load a pic "
Menu$(1,2)="Save a pic "
Menu$(1,3)="------------" : Menu Inactive(1,3)
Menu$(1,4)="About >> "
Menu$(1,5)="Version >> "
Menu$(1,6)="------------" : Menu Inactive(1,6)
Menu$(1,7)="Pic info >> "
Menu$(1,8)="Quit "
Menu$(1,9)="WORKBENCH "
'
Menu$(1,5,1)="Version 1.1"
Menu$(1,5,2)="Look out for version 2"
Menu Inactive(1,5,1)
Menu Inactive(1,5,2)
Set Text 4
Menu$(1,4,1)="THE AMOS IMAGE MANIPULATOR"
Set Text 0
Menu$(1,4,2)="By Martin Donnelly"
Menu$(1,4,3)="Copyright Megasoft 1991"
Menu$(1,4,4)="Hellos to Nick,Alan,John"
Menu$(1,4,5)="Veronika,Dave,Liam,and"
Menu$(1,4,6)="everyone at Lorenzos P.d. &"
Menu$(1,4,7)="Zenith P.d. and Megasoft"
'
' Menu$(1,5,1)="HELP"
'
Menu$(1,7,1)="Name of pic"
Menu$(1,7,2)=F$
Menu$(1,7,3)=W$
Menu$(1,7,4)=H$
Menu$(1,7,5)=CL$
'
Menu Inactive(1,4,1)
Menu Inactive(1,4,2)
Menu Inactive(1,4,3)
Menu Inactive(1,4,4)
Menu Inactive(1,4,5)
Menu Inactive(1,4,6)
Menu Inactive(1,4,7)
'
Menu$(3)=" Function "
Menu$(3,1)="Smooth "
Menu$(3,2)="Pixilize "
Menu$(3,3)="Inverse Cols "
Menu$(3,4)="Change Cols >> "
Menu$(3,5)="Shrink >> "
Menu$(3,6)="Flip >> "
Menu$(3,7)="Clear " : Menu$(3,7,1)="Are you sure?"
Menu$(3,8)="Shift Colours "
Menu$(3,9)="Dekay "
Menu$(3,10)="Splatter "
Menu$(3,12)="Half vertical "
'
Menu$(3,8,1)="Colours up "
Menu$(3,8,2)="Colours Down"
'
Menu$(3,9,1)="Length of time"
Menu$(3,9,2)="Short "
Menu$(3,9,3)="Long "
Menu Inactive(3,9,1)
'
Menu$(3,11)="Medium to Lores"
'
Menu$(3,4,1)="Change to" : Menu Inactive(3,4,1)
Menu$(3,4,2)="Red "
Menu$(3,4,3)="Green "
Menu$(3,4,4)="Blue "
Menu$(3,4,5)="White "
'
Menu$(3,5,1)="Shrink by" : Menu Inactive(3,5,1)
Menu$(3,5,2)="Quarter "
Menu$(3,5,3)="Eighth "
Menu$(3,5,4)="Sixteenth"
'
Menu$(3,6,1)="Direction" : Menu Inactive(3,6,1)
Menu$(3,6,2)="Horizontaly"
Menu$(3,6,3)="Verticaly "
Menu Movable(1)
Menu On
Menu Tline(1)
If SCR=0 Then Menu Inactive(3)
If SCR=89 Then Menu Active(3)
End Proc
Procedure LODE
' Cls
' Print "Please enter picture name"
F$=Fsel$("","",".A. .I. .M.","Load a picture")
If F$="" Then Goto P
Change Mouse 3
Load Iff F$,0
SCR=89
Change Mouse 1
H=Screen Height
W=Screen Width
CL=Screen Colour
H1$=Str$(H)
W1$=Str$(W)
CL1$=Str$(CL)
W$="Width :"+W1$
H$="hieght:"+H1$
CL$="No of cols:"+CL1$
C=0
P:
C=0 : C1=0
SET_MENU
Menu On
End Proc
Procedure SMEAR
If SCR=0 Then ERR
Change Mouse 3
Screen 0
For Y=0 To H
For X=0 To W
M=Mouse Click
If M=1 Then Goto A
F=Point(X,Y) : F1=Point(X+1,Y)
D=F+F1
D=D/2 : If D<0 Then D=0
Ink D
Plot X,Y
Next
Next
A:
Change Mouse 1
End Proc
Procedure PIX
If SCR=0 Then ERR
If SCR<89 Then Goto S
Change Mouse 3
For Y=0 To H Step 8
For X=0 To W Step 8
M=Mouse Click
If M=1 Then Goto A
C=0 : D=0 : U=4 : E=4
'For E=1 To 8
' For U=1 To 8
M=Mouse Click : If M=1 Then Change Mouse 1 : Goto S
C=Point(X+U,Y+E)
'D=D+C
' Next
'Next
'C=D/64 : Ink C
Ink C
Bar X,Y To X+8,Y+8
Next
Next
Change Mouse 1
End Proc
Procedure SHRINK
If SCR=0 Then ERR
If C3=2 Then F=160 : B=2 : J=H/2
If C3=3 Then F=60 : B=4 : J=H/4
If C3=4 Then F=30 : B=8 : J=H/8
Change Mouse 3
For Y=0 To H Step B
O=O+1 : I=0
For X=0 To W Step B
M=Mouse Click
If M=1 Then Goto A
I=I+1
C=Point(X,Y)
Ink C
Plot I,O
Next
Next
Ink 0
Bar 0,J To W,H
Bar I,0 To W,H
Change Mouse 1
End Proc
Procedure SET
Paper 0
Ink 1,3
Screen 0
Box 8,2 To 43,12 :
Ink 3 : Paint 9,3
Ink 1
Text 10,10,"LOAD"
Text 47,10,"SAVE"
Box 45,2 To 79,12
Ink 3 : Paint 46,3
Ink 1,3
Text 83,10,"SMEAR"
Box 81,2 To 124,12
Ink 3 : Paint 82,3 : Ink 1
Text 83,23,"FUN"
Box 81,15 To 107,25
Ink 3 : Paint 82,16 : Ink 1
Text 112,23,"FLIP V"
Box 110,15 To 160,25
Ink 3 : Paint 111,16 : Ink 1
Text 165,23,"FLIP H"
Box 163,15 To 213,25
Ink 3 : Paint 164,16 : Ink 1
Text 128,10,"PIX"
Box 126,2 To 153,12
Ink 3 : Paint 127,3 : Ink 1
Text 157,10,"SHRINK"
Box 155,2 To 205,12
Ink 3 : Paint 156,3 : Ink 1
Text 208,10,"INVRT"
Box 207,2 To 248,12
Ink 3 : Paint 208,3 : Ink 1
Text 252,10,"QUIT"
Box 250,2 To 286,12
Ink 3 : Paint 251,3 : Ink 1
Text 252,23,"A"
Box 250,15 To 262,25
Text 266,23,"H"
Box 264,15 To 274,25
Ink 3 : Paint 265,16 : Paint 251,16
End Proc
Procedure EFFECTS
If SCR=0 Then ERR
If SCR<89 Then Goto S
Change Mouse 3
W=Screen Width
H=Screen Height
For Y=0 To H
For X=0 To W
U=0 : UU=0
F=Point(X+U,Y+UU)
F=F-CL :
If F<0 Then F=F*(-1)
Ink F
Plot X+U,Y+UU
M=Mouse Click
If M=1 Then Goto A :
Next
Next
Change Mouse 1
End Proc
Procedure ERR
Bell 1
Palette $FF
Wait 20
Bell 10
Palette 0
Change Mouse 1
SCR=0
Goto S
End Proc
Procedure FUN
If SCR=0 Then ERR
If SCR<89 Then Goto S
Change Mouse 3
RD=Rnd(5)
For Y=0 To H
For X=0 To W
M=Mouse Click
If M=1 Then Goto A
C=Point(X,Y)
If C3=1 Then D=C+1
If C3=2 Then D=C-1
If D>SCR Then D=SCR
If S<0 Then D=0
Ink D
Plot X,Y
Next
Next
Change Mouse 1
End Proc
Procedure QUIT
Flash Off
If CL=4 Then Fade 10
If CL=16 Then Shift Down 4,0,15,0
If CL=32 Then Shift Up 1,0,31,1
Wait 300
Shift Off
Fade 3 : Wait 45
Screen Close 0
End Proc
Procedure SVE
If F$="Nothing Loaded!" Then Goto A
F$=Fsel$("","","SAVE A PICTURE")
If F$="" Then Goto R
Change Mouse 3
Save Iff F$,1
Change Mouse 1
R:
End Proc
Procedure CCOL
If C3=2 and CL=16 Then Palette 0,$100,$200,$300,$400,$500,$600,$700,$800,$900,$A00,$B00,$C00,$D00,$E00,$F00 : Goto L
If C3=2 and CL=32 Then Palette 0,0,$100,$100,$200,$200,$300,$300,$400,$400,$500,$500,$600,$600,$700,$700,$800,$800,$900,$900,$A00,$A00,$B00,$B00,$C00,$C00,$D00,$D00,$E00,$E00,$F00,$F00 : Goto L
If C3=3 and CL=16 Then Palette 0,$10,$20,$30,$40,$50,$60,$70,$80,$90,$A0,$B0,$C0,$D0,$E0,$F0 : Goto L
If C3=3 and CL=32 Then Palette 0,0,$10,$10,$20,$20,$30,$30,$40,$40,$50,$50,$60,$60,$70,$70,$80,$80,$90,$90,$A0,$A0,$B0,$B0,$C0,$C0,$D0,$D0,$E0,$E0,$F0,$F0 : Goto L
If C3=4 and CL=16 Then Palette 0,$1,$2,$3,$4,$5,$6,$7,$8,$9,$A,$B,$C,$D,$E,$F : Goto L
If C3=4 and CL=32 Then Palette 0,0,$1,$1,$2,$2,$3,$3,$4,$4,$5,$5,$6,$6,$7,$7,$8,$8,$9,$9,$A,$A,$B,$B,$C,$C,$D,$D,$E,$E,$F,$F : Goto L